package mx.com.ingsw.model;

import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import mx.com.ingsw.dao.AsignaturaDAO;
import mx.com.ingsw.dao.FechaclaseDAO;
import mx.com.ingsw.dao.GrupoDAO;
import mx.com.ingsw.dao.HorariomDAO;
import mx.com.ingsw.dao.PersonaDAO;
import mx.com.ingsw.dao.ProfesorDAO;
import mx.com.ingsw.dao.SalonDAO;
import mx.com.ingsw.query.AlumnoQuery;




public class Comprobante implements Serializable{ 
   //Inscripcion
   private int idAsignatura;
   private int idGrupo;
   
   //asignatura
   private String nombreAsig;
   private  int creditos;
   //salon
   private String salon;
   
   //profesor
   private String nombreCompletoProf;
   
   //horariom
   private String tiempo_clase_ini;
   private String tiempo_clase_fin;
   private String dia;
   
   public List<Comprobante> LisComprobante (int cuenta){
       AlumnoQuery q=new AlumnoQuery();
       List<Inscripcion> li=q.BuscaInsc(cuenta);
       List<Comprobante> lc=new ArrayList();
       SimpleDateFormat formato = new SimpleDateFormat("HH:mm");
           GrupoDAO gd=new GrupoDAO();
           SalonDAO salonDAO = new SalonDAO();
           HorariomDAO horariomDAO = new HorariomDAO();
           ProfesorDAO profesorDAO = new ProfesorDAO();
           PersonaDAO personaDAO = new PersonaDAO();
           AsignaturaDAO asignaturaDAO = new AsignaturaDAO();
           FechaclaseDAO fechaclaseDAO = new FechaclaseDAO(); 
       for(int i=0;i<li.size();i++){
           li.get(i);
           Comprobante com=new Comprobante();
               com.idAsignatura=li.get(i).getIdAsignatura();
               com.idGrupo=li.get(i).getIdGrupo();
               
               GrupoPK grupoPK=new GrupoPK(com.idGrupo, com.idAsignatura);               
               Grupo grupo=gd.read(grupoPK);
               SalonPK salonPK = new SalonPK(grupo.getIdSalon()+"",grupo.getSalonLetra());
               //Salon salonentidad =salonDAO.read(salonPK);
               Asignatura asignutura = asignaturaDAO.read(grupoPK.getIdAsignatura());
               Horariom horariom = horariomDAO.read(grupo.getHorariom());
               Profesor profesor = profesorDAO.read(grupo.getRfc());
               Persona persona = personaDAO.read(profesor.getIdPersona());
               Fechaclase fechaclase=fechaclaseDAO.read(horariom.getIdFechaClase());                 
                       
               com.nombreAsig=asignutura.getNombre();
               com.creditos=asignutura.getCreditos();
               //salon
               com.salon=salonPK.getLetra()+salonPK.getIdSalon()+"";
               //profesor
               com.nombreCompletoProf=persona.getNombre()+" "+persona.getApellidop()+" "+persona.getApellidom();
               //horariom
               com.dia=fechaclase.getDia();
               com.tiempo_clase_ini=formato.format(horariom.getTiempoClaseIni());
               com.tiempo_clase_fin=formato.format(horariom.getTiempoClaseFin());               
               
               lc.add(com);
         }
                 return lc;
}

    public int getCreditos() {
        return creditos;
    }

    public void setCreditos(int creditos) {
        this.creditos = creditos;
    }

    public String getDia() {
        return dia;
    }

    public void setDia(String dia) {
        this.dia = dia;
    }

    public int getIdAsignatura() {
        return idAsignatura;
    }

    public void setIdAsignatura(int idAsignatura) {
        this.idAsignatura = idAsignatura;
    }

    public int getIdGrupo() {
        return idGrupo;
    }

    public void setIdGrupo(int idGrupo) {
        this.idGrupo = idGrupo;
    }

    public String getNombreAsig() {
        return nombreAsig;
    }

    public void setNombreAsig(String nombreAsig) {
        this.nombreAsig = nombreAsig;
    }

    public String getNombreCompletoProf() {
        return nombreCompletoProf;
    }

    public void setNombreCompletoProf(String nombreCompletoProf) {
        this.nombreCompletoProf = nombreCompletoProf;
    }

    public String getSalon() {
        return salon;
    }

    public void setSalon(String salon) {
        this.salon = salon;
    }

    public String getTiempo_clase_fin() {
        return tiempo_clase_fin;
    }

    public void setTiempo_clase_fin(String tiempo_clase_fin) {
        this.tiempo_clase_fin = tiempo_clase_fin;
    }

    public String getTiempo_clase_ini() {
        return tiempo_clase_ini;
    }

    public void setTiempo_clase_ini(String tiempo_clase_ini) {
        this.tiempo_clase_ini = tiempo_clase_ini;
    }
}
   
    // Getters y Setters
